]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
lookingGlass: Replace global grabs with input device grabs
authorJonas Dreßler <verdre@v0yd.nl>
Sun, 14 Apr 2019 16:32:11 +0000 (18:32 +0200)
committerFlorian Müllner <florian.muellner@gmail.com>
Tue, 2 Jul 2019 01:18:15 +0000 (01:18 +0000)
Global grabs are being removed from Clutter in favour of input device
grabs.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/495

js/ui/lookingGlass.js

index 4e5b988ba868df43bcb09a6c3e3c7a2f2d2e90bb..e191b509e0fb0546816bb66a28e1d1a8be7565f3 100644 (file)
@@ -491,8 +491,13 @@ var Inspector = GObject.registerClass({
         eventHandler.connect('button-press-event', this._onButtonPressEvent.bind(this));
         eventHandler.connect('scroll-event', this._onScrollEvent.bind(this));
         eventHandler.connect('motion-event', this._onMotionEvent.bind(this));
-        Clutter.grab_pointer(eventHandler);
-        Clutter.grab_keyboard(eventHandler);
+
+        let dm = Clutter.DeviceManager.get_default();
+        this._pointerDevice = dm.get_core_device(Clutter.InputDeviceType.POINTER_DEVICE);
+        this._keyboardDevice = dm.get_core_device(Clutter.InputDeviceType.KEYBOARD_DEVICE);
+
+        this._pointerDevice.grab(eventHandler);
+        this._keyboardDevice.grab(eventHandler);
 
         // this._target is the actor currently shown by the inspector.
         // this._pointerTarget is the actor directly under the pointer.
@@ -525,8 +530,8 @@ var Inspector = GObject.registerClass({
     }
 
     _close() {
-        Clutter.ungrab_pointer();
-        Clutter.ungrab_keyboard();
+        this._pointerDevice.ungrab();
+        this._keyboardDevice.ungrab();
         this._eventHandler.destroy();
         this._eventHandler = null;
         this.emit('closed');